diff --git a/user_guide_src/source/_themes/eldocs/layout.html b/user_guide_src/source/_themes/eldocs/layout.html
index 4b1a022..01db07c 100644
--- a/user_guide_src/source/_themes/eldocs/layout.html
+++ b/user_guide_src/source/_themes/eldocs/layout.html
@@ -9,6 +9,9 @@
 {%- if project == 'ExpressionEngine' %}{% set project_abbreviation = 'ee' %}{% set project_domain = 'expressionengine.com' %}{% endif -%}
 {%- if project == 'CodeIgniter' %}{% set project_abbreviation = 'ci' %}{% set project_domain = 'codeigniter.com' %}{% endif -%}
 {%- if project == 'MojoMotor' %}{% set project_abbreviation = 'mm' %}{% set project_domain = 'mojomotor.com' %}{% endif -%}
+{%- set exclude_comments = ['index', 'license', 'changelog',
+							'development/index', 'development/extension_hooks/index',
+							'development/guidelines/template'] %}
 
 <html>
 	<head>
@@ -85,10 +88,6 @@
 		<div id="brand" class="{{ project_abbreviation }}">
 			<a href="http://{{ project_domain }}/"><img src="{{ pathto('_static/asset/img/' + project_abbreviation + '-logo.gif', 1) }}" alt="{{ project }}"></a>
 			<p>{{ release }} User Guide</p>
-			{%- if show_source and has_source and sourcename %}
-		    <p><a href="{{ pathto('_sources/' + sourcename, true)|e }}"
-			           rel="nofollow">{{ _('Show Source') }}</a></p>
-			{%- endif %}
 		</div><!-- /#brand -->
 
 		<div id="header">
@@ -101,15 +100,16 @@
 			</form>
 			<ul>
 				{%- block rootrellink %}
-				<li><a href="{{ pathto(master_doc) }}">Home</a>&nbsp;&nbsp;{{ reldelim1 }}</li>
-				<li><a id="toc-link" href="{{ pathto(master_doc) }}">Table of Contents</a>&nbsp;&nbsp;{{ reldelim1 }}</li>
+				<li><a href="{{ pathto(master_doc) }}">User Guide Home</a>{%- if pagename != 'index' %}&nbsp;&nbsp;{{ reldelim1 }}{%- endif %}</li>
 				{%- endblock %}
 				
 				{%- for parent in parents %}
 				<li><a href="{{ parent.link|e }}" {% if loop.last %}{{ accesskey("U") }}{% endif %}>{{ parent.title }}</a>&nbsp;&nbsp; {{ reldelim1 }}</li>
 		        {%- endfor %}
 
+				{%- if pagename != 'index' %}
 				<li><strong>{{ title }}</strong></li>
+				{%- endif %}
 			</ul>
 		</div><!-- /#header -->
 
@@ -124,49 +124,9 @@
 	
 	{%- block footer %}			
 		<div id="footer">
-			<p class="top">
-				{% if prev %}
-				<span class="prev">Previous Topic: <a href="{{ prev.link }}">{{ prev.title }}</a></span>
-				{% endif %}
-				{% if next %}
-				<span class="next">Next Topic: <a href="{{ next.link }}">{{ next.title }}</a></span>
-				{% endif %}
-				<a href="#header" title="Return to top">Return to top</a>
-			</p>
-			<p><a href="{{ project_url }}">{{ project }}</a> &ndash; Copyright &copy; {{ copyright }}</a> &ndash; Last updated: {{ last_updated }}</p>
+			<p class="top"><a href="#header" title="Return to top">Return to top</a></p>
+			<p><a href="{{ project_url }}">{{ project }}</a> &ndash; Copyright &copy; {{ copyright }}</a></p>
 		</div><!-- /#footer -->
 	{%- endblock %}
-	
-	<script src="{{ pathto('_static/asset/js/jquery-ui-min.js', 1) }}" type="text/javascript" charset="utf-8" async></script>
-	<script type="text/javascript" charset="utf-8">
-		$('#toc-link').click(function(){
-			$('#table-contents').animate({ left: '0' },1000);
-			return false;
-		});
-		$('html').click(function(){
-			if ($('#table-contents').css("left") == '0px'){
-				$('#table-contents').animate({ left: '-520' },1000);
-			}
-		});
-		$('#table-contents').click(function(event){
-			event.stopPropagation();
-		});
-/*		$('*:not(#table-contents,#toc-link)').click(function(){
-			if ($('#table-contents').css("left") == '0px'){
-				$('#table-contents').animate({ left: '-520' },1000);
-			}
-		});
-/*		$("#toc-link").click(function () {
-			$('#table-contents').show("slide", { direction: "left" }, 100);
-			event.stopPropagation();
-			return false;
-		});
-		$('*:not(#table-contents,#toc-link)').click(function () {
-			if ($('#table-contents').is(":visible")) {
-				$('#table-contents').hide("slide", { direction: "left" }, 100);
-				event.stopPropagation();	
-			}
-		}); */
-	</script>
 	</body>
-</html>
\ No newline at end of file
+</html>
diff --git a/user_guide_src/source/_themes/eldocs/static/asset/css/common.css b/user_guide_src/source/_themes/eldocs/static/asset/css/common.css
index 66768ba..6cabda0 100644
--- a/user_guide_src/source/_themes/eldocs/static/asset/css/common.css
+++ b/user_guide_src/source/_themes/eldocs/static/asset/css/common.css
@@ -49,7 +49,9 @@
 
 h1{ font-size: 28px; }
 
-h2{ font-size: 24px; }
+h2{ font-size: 24px; font-weight: normal; }
+
+h1, h2, h3, h4, h5, h6{ margin-bottom: 20px; }
 
 h2, h3{ border-bottom: 2px solid #EEEEEE; padding: 0 0 3px; }	
 
@@ -73,6 +75,10 @@
 	li > ol{ margin: 0; margin-left: 40px; }
 
 	dl > dd{ margin-left: 20px; }
+	
+	li > p { margin: 0; }
+
+#expressionengine-user-guide li em { font-style: normal; }
 
 p, li, dd, dt, pre{ line-height: 1.5; }
 
@@ -141,39 +147,31 @@
 fieldset{ border: 0; }
 
 .top{ float: right; }
-.next{ padding: 0 20px 0 10px; }
-.prev{ padding-right: 10px; }
 
-.highlight-ci,
+.admonition,
 .highlight-ee,
+.highlight-ci,
 .highlight-rst,
 .highlight-bash,
 .highlight-perl,
+.highlight-php,
 .cp-path,
-.important,
-.note{ 
-	background-color: #F5FBFF; 
+.codeblock{ 
+	background-color: #F9FEFF; 
 	border: 1px solid #C8DEF0; 
-	margin: 20px 0 20px 20px; 
+	-moz-box-shadow: 4px 4px 0 rgba(0,0,0,0.03);
+	-webkit-box-shadow: 4px 4px 0 rgba(0,0,0,0.03);
+	box-shadow: 4px 4px 0 rgba(0,0,0,0.03);
+	margin: 20px 0; 
 	padding: 10px 10px 8px; 
 }
 
-	.highlight-ci,
-	.highlight-ee,
-	.highlight-rst,
-	.highlight-bash,
-	.highlight-perl{
-		-moz-box-shadow: 4px 4px 0 rgba(0,0,0,0.03);
-		-webkit-box-shadow: 4px 4px 0 rgba(0,0,0,0.03);
-		box-shadow: 4px 4px 0 rgba(0,0,0,0.03);
-	}
-
-	.cp-path{ background-color: #FFFDED; border-color: #D1CDB0; }
-	.important, .note{ background-color: #F2FFE8; border-color: #B9D3A6; }
-	.highlight-rst{ background-color: #F9FEFE; border-color: #AACFCF; }
+	.admonition p{ margin: 0; }
 	
-	.important p,
-	.note p{ margin: 0; }
+	.codeblock{ margin: 10px 0; }
+	
+	.cp-path{ background-color: #FAFFF6; border-color: #D1CDB0; }
+	.important, .note{ background-color: #FFFFF2; border-color: #C8C8A5; }
 	
 .admonition-title{ 
 	float: left;
@@ -295,6 +293,43 @@
 
 	#footer p{ margin: 0; }
 
+#comments,
+#feedLink{ background: #FCFCFC; padding: 1px 40px 20px; }
+
+	#comments{ border-top: 1px solid #CCCCCC; }
+	#comments h3{ margin: 20px 0; }
+
+.comments td.avatar{ min-width: 100px; }
+
+.comments td.column1,
+.comments td.post{ background-color: #FFFFFF; padding: 10px; }
+
+.comments td.staffeven{ border-left: 10px solid #C8DEF0; }
+
+#comment_form p,
+.comments p{ margin: 0; }
+
+	.comments p{ margin-bottom: 10px; }
+
+#comment_form textarea{
+	-moz-box-sizing: border-box;
+	-webkit-box-sizing: border-box;
+	box-sizing: border-box;
+	margin-bottom: 10px;
+	resize: none; 
+	width: 100%; 
+}
+
+#comment_form input[type="submit"]{ margin-top: 10px; }
+
+	#comment_form textarea:focus{ background-color: #FFFFF2; border: 1px solid #666666; outline: 0; }
+
+	#commentFormInstructions{ font-size: 12px; margin: 20px 0; }
+
+	#feedLink a{ font-size: 16px; }
+
+	#feedLink a img{ float: left; margin-right: 5px; }
+
 @media (max-width:800px){
 	#footer .top,
 	#header form{ float: none; margin-bottom: 10px; }
@@ -310,4 +345,4 @@
 
 @media screen and (-webkit-min-device-pixel-ratio:0){
 	#header input[type="submit"]{ padding-bottom: 7px; }
-}
\ No newline at end of file
+}
diff --git a/user_guide_src/source/changelog.rst b/user_guide_src/source/changelog.rst
index 17fb647..c0fa9d7 100644
--- a/user_guide_src/source/changelog.rst
+++ b/user_guide_src/source/changelog.rst
@@ -362,7 +362,7 @@
       injection.
    -  Added additional option 'none' for the optional third argument for
       $this->db->like() in the :doc:`Database
-      Driver <database/active_record>`.
+      Driver <database/query_builder>`.
    -  Added $this->db->insert_batch() support to the OCI8 (Oracle) driver.
    -  Added failover if the main connections in the config should fail
 
@@ -1636,27 +1636,27 @@
 -  Active Record
 
    -  Added protect_identifiers() in :doc:`Active
-      Record <./database/active_record>`.
+      Record <./database/query_builder>`.
    -  All AR queries are backticked if appropriate to the database.
    -  Added where_in(), or_where_in(), where_not_in(),
       or_where_not_in(), not_like() and or_not_like() to :doc:`Active
-      Record <./database/active_record>`.
+      Record <./database/query_builder>`.
    -  Added support for limit() into update() and delete() statements in
-      :doc:`Active Record <./database/active_record>`.
+      :doc:`Active Record <./database/query_builder>`.
    -  Added empty_table() and truncate_table() to :doc:`Active
-      Record <./database/active_record>`.
+      Record <./database/query_builder>`.
    -  Added the ability to pass an array of tables to the delete()
-      statement in :doc:`Active Record <./database/active_record>`.
+      statement in :doc:`Active Record <./database/query_builder>`.
    -  Added count_all_results() function to :doc:`Active
-      Record <./database/active_record>`.
+      Record <./database/query_builder>`.
    -  Added select_max(), select_min(), select_avg() and
-      select_sum() to :doc:`Active Record <./database/active_record>`.
+      select_sum() to :doc:`Active Record <./database/query_builder>`.
    -  Added the ability to use aliases with joins in :doc:`Active
-      Record <./database/active_record>`.
+      Record <./database/query_builder>`.
    -  Added a third parameter to Active Record's like() clause to
       control where the wildcard goes.
    -  Added a third parameter to set() in :doc:`Active
-      Record <./database/active_record>` that withholds escaping
+      Record <./database/query_builder>` that withholds escaping
       data.
    -  Changed the behaviour of variables submitted to the where() clause
       with no values to auto set "IS NULL"
@@ -1764,7 +1764,7 @@
       the table of contents of the userguide.
    -  Moved part of the userguide menu javascript to an external file.
    -  Documented distinct() in :doc:`Active
-      Record <./database/active_record>`.
+      Record <./database/query_builder>`.
    -  Documented the timezones() function in the :doc:`Date
       Helper <./helpers/date_helper>`.
    -  Documented unset_userdata in the :doc:`Session
@@ -2340,9 +2340,9 @@
    function <./general/views>`: $this->load->view('my_view',
    $object);
 -  Added getwhere function to :doc:`Active Record
-   class <./database/active_record>`.
+   class <./database/query_builder>`.
 -  Added count_all function to :doc:`Active Record
-   class <./database/active_record>`.
+   class <./database/query_builder>`.
 -  Added language file for scaffolding and fixed a scaffolding bug that
    occurs when there are no rows in the specified table.
 -  Added :doc:`$this->db->last_query() <./database/queries>`, which
@@ -2367,7 +2367,7 @@
 -  Added support for :doc:`Models <general/models>`.
 -  Redesigned the database libraries to support additional RDBMs
    (Postgres, MySQLi, etc.).
--  Redesigned the :doc:`Active Record class <./database/active_record>`
+-  Redesigned the :doc:`Active Record class <./database/query_builder>`
    to enable more varied types of queries with simpler syntax, and
    advanced features like JOINs.
 -  Added a feature to the database class that lets you run :doc:`custom
@@ -2400,7 +2400,7 @@
    whether PHP 4 or 5 is being run, since PHP 5 allows a more graceful
    way to manage objects that utilizes a bit less resources.
 -  Deprecated: $this->db->use_table() has been deprecated. Please read
-   the :doc:`Active Record <./database/active_record>` page for
+   the :doc:`Active Record <./database/query_builder>` page for
    information.
 -  Deprecated: $this->db->smart_escape_str() has been deprecated.
    Please use this instead: $this->db->escape()
diff --git a/user_guide_src/source/database/results.rst b/user_guide_src/source/database/results.rst
index ac4fc37..d032f73 100644
--- a/user_guide_src/source/database/results.rst
+++ b/user_guide_src/source/database/results.rst
@@ -139,13 +139,13 @@
 .. note:: all the functions above will load the whole result into memory (prefetching) use unbuffered_row() for processing large result sets.
 
 unbuffered_row($type)
-=====
+=====================
 
 This function returns a single result row without prefetching the whole result in memory as row() does.
 If your query has more than one row, it returns the current row and moves the internal data pointer ahead. 
 The result is returned as $type could be 'object' (default) or 'array' that will return an associative array.
 
-
+::
 
 	$query = $this->db->query("YOUR QUERY");
 	
diff --git a/user_guide_src/source/general/welcome.rst b/user_guide_src/source/general/welcome.rst
new file mode 100644
index 0000000..b28c3bc
--- /dev/null
+++ b/user_guide_src/source/general/welcome.rst
@@ -0,0 +1,32 @@
+######################
+Welcome to CodeIgniter
+######################
+
+CodeIgniter is an Application Development Framework - a toolkit - for
+people who build web sites using PHP. Its goal is to enable you to
+develop projects much faster than you could if you were writing code
+from scratch, by providing a rich set of libraries for commonly needed
+tasks, as well as a simple interface and logical structure to access
+these libraries. CodeIgniter lets you creatively focus on your project
+by minimizing the amount of code needed for a given task.
+
+***********************
+Who is CodeIgniter For?
+***********************
+
+CodeIgniter is right for you if:
+
+-  You want a framework with a small footprint.
+-  You need exceptional performance.
+-  You need broad compatibility with standard hosting accounts that run
+   a variety of PHP versions and configurations.
+-  You want a framework that requires nearly zero configuration.
+-  You want a framework that does not require you to use the command
+   line.
+-  You want a framework that does not require you to adhere to
+   restrictive coding rules.
+-  You are not interested in large-scale monolithic libraries like PEAR.
+-  You do not want to be forced to learn a templating language (although
+   a template parser is optionally available if you desire one).
+-  You eschew complexity, favoring simple solutions.
+-  You need clear, thorough documentation.
diff --git a/user_guide_src/source/helpers/date_helper.rst b/user_guide_src/source/helpers/date_helper.rst
index ba07939..5adfb18 100644
--- a/user_guide_src/source/helpers/date_helper.rst
+++ b/user_guide_src/source/helpers/date_helper.rst
@@ -87,30 +87,20 @@
 
 Supported formats:
 
-+----------------+------------------------+-----------------------------------+
-| Constant       | Description            | Example                           |
-+================+========================+===================================+
-| DATE_ATOM      | Atom                   | 2005-08-15T16:13:03+0000          |
-+----------------+------------------------+-----------------------------------+
-| DATE_COOKIE    | HTTP Cookies           | Sun, 14 Aug 2005 16:13:03 UTC     |
-+----------------+------------------------+-----------------------------------+
-| DATE_ISO8601   | ISO-8601               | 2005-08-14T16:13:03+00:00         |
-+----------------+------------------------+-----------------------------------+
-| DATE_RFC822    | RFC 822                | Sun, 14 Aug 05 16:13:03 UTC       |
-+----------------+------------------------+-----------------------------------+
-| DATE_RFC850    | RFC 850                | Sunday, 14-Aug-05 16:13:03 UTC    |
-+----------------+------------------------+-----------------------------------+
-| DATE_RFC1036   | RFC 1036               | Sunday, 14-Aug-05 16:13:03 UTC    |
-+----------------+------------------------+-----------------------------------+
-| DATE_RFC1123   | RFC 1123               | Sun, 14 Aug 2005 16:13:03 UTC     |
-+----------------+------------------------+-----------------------------------+
-| DATE_RFC2822   | RFC 2822               | Sun, 14 Aug 2005 16:13:03 +0000   |
-+----------------+------------------------+-----------------------------------+
-| DATE_RSS       | RSS                    | Sun, 14 Aug 2005 16:13:03 UTC     |
-+----------------+------------------------+-----------------------------------+
-| DATE_W3C       | W3C                    | 2005-08-14T16:13:03+0000          |
-+----------------+------------------------+-----------------------------------+
-
+===============	=======================	======================================
+Constant		Description				Example
+===============	=======================	======================================
+DATE_ATOM		Atom					2005-08-15T16:13:03+0000
+DATE_COOKIE		HTTP Cookies			Sun, 14 Aug 2005 16:13:03 UTC
+DATE_ISO8601   	ISO-8601				2005-08-14T16:13:03+00:00
+DATE_RFC822		RFC 822					Sun, 14 Aug 05 16:13:03 UTC
+DATE_RFC850		RFC 850					Sunday, 14-Aug-05 16:13:03 UTC
+DATE_RFC1036	RFC 1036				Sunday, 14-Aug-05 16:13:03 UTC
+DATE_RFC1123	RFC 1123				Sun, 14 Aug 2005 16:13:03 UTC
+DATE_RFC2822 	RFC 2822				Sun, 14 Aug 2005 16:13:03 +0000
+DATE_RSS		RSS						Sun, 14 Aug 2005 16:13:03 UTC
+DATE_W3C		W3C						2005-08-14T16:13:03+0000
+===============	=======================	======================================
 
 local_to_gmt()
 ==============
@@ -421,86 +411,47 @@
 
 Note some of the location lists have been abridged for clarity and formatting.
 
-+------------+----------------------------------------------------------------+
-| Time Zone  | Location                                                       |
-+============+================================================================+
-| UM12       | (UTC - 12:00) Baker/Howland Island	                          |
-+------------+----------------------------------------------------------------+
-| UM11       | (UTC - 11:00) Samoa Time Zone, Niue						      |
-+------------+----------------------------------------------------------------+
-| UM10       | (UTC - 10:00) Hawaii-Aleutian Standard Time, Cook Islands	  |
-+------------+----------------------------------------------------------------+
-| UM95       | (UTC - 09:30) Marquesas Islands							      |
-+------------+----------------------------------------------------------------+
-| UM9        | (UTC - 09:00) Alaska Standard Time, Gambier Islands		      |
-+------------+----------------------------------------------------------------+
-| UM8        | (UTC - 08:00) Pacific Standard Time, Clipperton Island	      |
-+------------+----------------------------------------------------------------+
-| UM7        | (UTC - 11:00) Mountain Standard Time						      |
-+------------+----------------------------------------------------------------+
-| UM6        | (UTC - 06:00) Central Standard Time						      |
-+------------+----------------------------------------------------------------+
-| UM5        | (UTC - 05:00) Eastern Standard Time, Western Caribbean		  |
-+------------+----------------------------------------------------------------+
-| UM45       | (UTC - 04:30) Venezuelan Standard Time					      |
-+------------+----------------------------------------------------------------+
-| UM4        | (UTC - 04:00) Atlantic Standard Time, Eastern Caribbean		  |
-+------------+----------------------------------------------------------------+
-| UM35       | (UTC - 03:30) Newfoundland Standard Time					      |
-+------------+----------------------------------------------------------------+
-| UM3        | (UTC - 03:00) Argentina, Brazil, French Guiana, Uruguay	      |
-+------------+----------------------------------------------------------------+
-| UM2        | (UTC - 02:00) South Georgia/South Sandwich Islands		      |
-+------------+----------------------------------------------------------------+
-| UM1        | (UTC -1:00) Azores, Cape Verde Islands						  |
-+------------+----------------------------------------------------------------+
-| UTC        | (UTC) Greenwich Mean Time, Western European Time				  |
-+------------+----------------------------------------------------------------+
-| UP1        | (UTC +1:00) Central European Time, West Africa Time			  |
-+------------+----------------------------------------------------------------+
-| UP2        | (UTC +2:00) Central Africa Time, Eastern European Time		  |
-+------------+----------------------------------------------------------------+
-| UP3        | (UTC +3:00) Moscow Time, East Africa Time			  		  |
-+------------+----------------------------------------------------------------+
-| UP35       | (UTC +3:30) Iran Standard Time								  |
-+------------+----------------------------------------------------------------+
-| UP4        | (UTC +4:00) Azerbaijan Standard Time, Samara Time			  |
-+------------+----------------------------------------------------------------+
-| UP45       | (UTC +4:30) Afghanistan										  |
-+------------+----------------------------------------------------------------+
-| UP5        | (UTC +5:00) Pakistan Standard Time, Yekaterinburg Time		  |
-+------------+----------------------------------------------------------------+
-| UP55       | (UTC +5:30) Indian Standard Time, Sri Lanka Time				  |
-+------------+----------------------------------------------------------------+
-| UP575      | (UTC +5:45) Nepal Time										  |
-+------------+----------------------------------------------------------------+
-| UP6        | (UTC +6:00) Bangladesh Standard Time, Bhutan Time, Omsk Time   |
-+------------+----------------------------------------------------------------+
-| UP65       | (UTC +6:30) Cocos Islands, Myanmar							  |
-+------------+----------------------------------------------------------------+
-| UP7        | (UTC +7:00) Krasnoyarsk Time, Cambodia, Laos, Thailand, Vietnam|
-+------------+----------------------------------------------------------------+
-| UP8        | (UTC +8:00) Australian Western Standard Time, Beijing Time	  |
-+------------+----------------------------------------------------------------+
-| UP875      | (UTC +8:45) Australian Central Western Standard Time		      |
-+------------+----------------------------------------------------------------+
-| UP9        | (UTC +9:00) Japan Standard Time, Korea Standard Time, Yakutsk  |
-+------------+----------------------------------------------------------------+
-| UP95       | (UTC +9:30) Australian Central Standard Time					  |
-+------------+----------------------------------------------------------------+
-| UP10       | (UTC +10:00) Australian Eastern Standard Time, Vladivostok Time|
-+------------+----------------------------------------------------------------+
-| UP105      | (UTC +10:30) Lord Howe Island								  |
-+------------+----------------------------------------------------------------+
-| UP11       | (UTC +11:00) Magadan Time, Solomon Islands, Vanuatu            |
-+------------+----------------------------------------------------------------+
-| UP115      | (UTC +11:30) Norfolk Island									  |
-+------------+----------------------------------------------------------------+
-| UP12       | (UTC +12:00) Fiji, Gilbert Islands, Kamchatka, New Zealand     |
-+------------+----------------------------------------------------------------+
-| UP1275     | (UTC +12:45) Chatham Islands Standard Time					  |
-+------------+----------------------------------------------------------------+
-| UP13       | (UTC +13:00) Phoenix Islands Time, Tonga						  |
-+------------+----------------------------------------------------------------+
-| UP14       | (UTC +14:00) Line Islands									  |
-+------------+----------------------------------------------------------------+
+===========	=====================================================================
+Time Zone	Location
+===========	=====================================================================
+UM2			(UTC - 12:00) Baker/Howland Island
+UM1			(UTC - 11:00) Samoa Time Zone, Niue
+UM0			(UTC - 10:00) Hawaii-Aleutian Standard Time, Cook Islands
+UM95		(UTC - 09:30) Marquesas Islands
+UM9			(UTC - 09:00) Alaska Standard Time, Gambier Islands
+UM8			(UTC - 08:00) Pacific Standard Time, Clipperton Island
+UM7			(UTC - 11:00) Mountain Standard Time
+UM6			(UTC - 06:00) Central Standard Time
+UM5			(UTC - 05:00) Eastern Standard Time, Western Caribbean
+UM45		(UTC - 04:30) Venezuelan Standard Time
+UM4			(UTC - 04:00) Atlantic Standard Time, Eastern Caribbean
+UM35		(UTC - 03:30) Newfoundland Standard Time
+UM3			(UTC - 03:00) Argentina, Brazil, French Guiana, Uruguay
+UM2			(UTC - 02:00) South Georgia/South Sandwich Islands
+UM			(UTC -1:00) Azores, Cape Verde Islands
+UTC			(UTC) Greenwich Mean Time, Western European Time
+UP1			(UTC +1:00) Central European Time, West Africa Time
+UP2			(UTC +2:00) Central Africa Time, Eastern European Time
+UP3			(UTC +3:00) Moscow Time, East Africa Time
+UP35		(UTC +3:30) Iran Standard Time
+UP4			(UTC +4:00) Azerbaijan Standard Time, Samara Time
+UP45		(UTC +4:30) Afghanistan
+UP5			(UTC +5:00) Pakistan Standard Time, Yekaterinburg Time
+UP55		(UTC +5:30) Indian Standard Time, Sri Lanka Time
+UP575		(UTC +5:45) Nepal Time
+UP6			(UTC +6:00) Bangladesh Standard Time, Bhutan Time, Omsk Time
+UP65		(UTC +6:30) Cocos Islands, Myanmar
+UP7			(UTC +7:00) Krasnoyarsk Time, Cambodia, Laos, Thailand, Vietnam
+UP8			(UTC +8:00) Australian Western Standard Time, Beijing Time
+UP875		(UTC +8:45) Australian Central Western Standard Time
+UP9			(UTC +9:00) Japan Standard Time, Korea Standard Time, Yakutsk
+UP95		(UTC +9:30) Australian Central Standard Time
+UP10		(UTC +10:00) Australian Eastern Standard Time, Vladivostok Time
+UP105		(UTC +10:30) Lord Howe Island
+UP11		(UTC +11:00) Magadan Time, Solomon Islands, Vanuatu
+UP115		(UTC +11:30) Norfolk Island
+UP12		(UTC +12:00) Fiji, Gilbert Islands, Kamchatka, New Zealand
+UP1275		(UTC +12:45) Chatham Islands Standard Time
+UP1			(UTC +13:00) Phoenix Islands Time, Tonga
+UP14		(UTC +14:00) Line Islands
+===========	=====================================================================
\ No newline at end of file
diff --git a/user_guide_src/source/helpers/url_helper.rst b/user_guide_src/source/helpers/url_helper.rst
index 3c91fd5..82db6a5 100644
--- a/user_guide_src/source/helpers/url_helper.rst
+++ b/user_guide_src/source/helpers/url_helper.rst
@@ -182,9 +182,9 @@
 	echo anchor_popup('news/local/123', 'Click Me!', $atts);
 
 .. note:: The above attributes are the function defaults so you only need to
-set the ones that are different from what you need. If you want the
-function to use all of its defaults simply pass an empty array in the
-third parameter
+	set the ones that are different from what you need. If you want the
+	function to use all of its defaults simply pass an empty array in the
+	third parameter
 
 ::
 
diff --git a/user_guide_src/source/index.rst b/user_guide_src/source/index.rst
index 6cdeb24..c89b41c 100644
--- a/user_guide_src/source/index.rst
+++ b/user_guide_src/source/index.rst
@@ -1,34 +1,95 @@
-Welcome to CodeIgniter
-======================
+######################
+CodeIgniter User Guide
+######################
 
-CodeIgniter is an Application Development Framework - a toolkit - for
-people who build web sites using PHP. Its goal is to enable you to
-develop projects much faster than you could if you were writing code
-from scratch, by providing a rich set of libraries for commonly needed
-tasks, as well as a simple interface and logical structure to access
-these libraries. CodeIgniter lets you creatively focus on your project
-by minimizing the amount of code needed for a given task.
+- :doc:`License Agreement <license>`
+- :doc:`Change Log <changelog>`
 
-Who is CodeIgniter For?
-=======================
+.. contents::
+   :local:
+   :depth: 2
 
-CodeIgniter is right for you if:
+*******
+Welcome
+*******
 
--  You want a framework with a small footprint.
--  You need exceptional performance.
--  You need broad compatibility with standard hosting accounts that run
-   a variety of PHP versions and configurations.
--  You want a framework that requires nearly zero configuration.
--  You want a framework that does not require you to use the command
-   line.
--  You want a framework that does not require you to adhere to
-   restrictive coding rules.
--  You are not interested in large-scale monolithic libraries like PEAR.
--  You do not want to be forced to learn a templating language (although
-   a template parser is optionally available if you desire one).
--  You eschew complexity, favoring simple solutions.
--  You need clear, thorough documentation.
+- :doc:`general/welcome`
 
+**********
+Basic Info
+**********
+
+- :doc:`general/requirements`
+- :doc:`general/credits`
+
+************
+Installation
+************
+
+- :doc:`installation/downloads`
+- :doc:`installation/index`
+- :doc:`installation/upgrading`
+- :doc:`installation/troubleshooting`
+
+************
+Introduction
+************
+
+- :doc:`overview/getting_started`
+- :doc:`overview/at_a_glance`
+- :doc:`overview/cheatsheets`
+- :doc:`overview/features`
+- :doc:`overview/appflow`
+- :doc:`overview/mvc`
+- :doc:`overview/goals`
+
+********
+Tutorial
+********
+
+- :doc:`tutorial/index`
+- :doc:`tutorial/static_pages`
+- :doc:`tutorial/news_section`
+- :doc:`tutorial/create_news_items`
+- :doc:`tutorial/conclusion`
+
+**************
+General Topics
+**************
+
+.. toctree::
+	:glob:
+	:titlesonly:
+	
+	general/index
+
+*****************
+Library Reference
+*****************
+
+.. toctree::
+	:glob:
+	:titlesonly:
+	
+	libraries/index
+
+****************
+Driver Reference
+****************
+
+- :doc:`libraries/caching`
+- :doc:`database/index`
+- :doc:`libraries/javascript`
+
+****************
+Helper Reference
+****************
+
+.. toctree::
+	:glob:
+	:titlesonly:
+	
+	helpers/index
 
 .. toctree::
 	:glob:
diff --git a/user_guide_src/source/installation/upgrade_300.rst b/user_guide_src/source/installation/upgrade_300.rst
index c70737c..1419909 100644
--- a/user_guide_src/source/installation/upgrade_300.rst
+++ b/user_guide_src/source/installation/upgrade_300.rst
@@ -35,7 +35,7 @@
 Step 4: Update your config/database.php
 =======================================
 
-Due to 3.0.0's renaming of Active Record to Query Builder, inside your _config/database.php_, you will
+Due to 3.0.0's renaming of Active Record to Query Builder, inside your `config/database.php`, you will
 need to rename the `$active_record` variable to `$query_builder`.
 
     $active_group = 'default';
@@ -45,4 +45,4 @@
 Step 5: Move your errors folder
 ===============================
 
-In version 3.0.0, the errors folder has been moved from _application/errors_ to _application/views/errors_.
\ No newline at end of file
+In version 3.0.0, the errors folder has been moved from _application/errors* to _application/views/errors*.
\ No newline at end of file
diff --git a/user_guide_src/source/libraries/email.rst b/user_guide_src/source/libraries/email.rst
index f99eb91..c5fa680 100644
--- a/user_guide_src/source/libraries/email.rst
+++ b/user_guide_src/source/libraries/email.rst
@@ -183,7 +183,7 @@
 extract the message from your HTML email and strip the tags.
 
 $this->email->set_header()
------------------------
+--------------------------
 
 Appends additional headers to the e-mail::
 
diff --git a/user_guide_src/source/libraries/pagination.rst b/user_guide_src/source/libraries/pagination.rst
index 6e1020b..7d750bd 100644
--- a/user_guide_src/source/libraries/pagination.rst
+++ b/user_guide_src/source/libraries/pagination.rst
@@ -113,7 +113,7 @@
 configured using $config['query_string_segment'] = 'your_string'
 
 $config['reuse_query_string'] = FALSE;
-====================================
+======================================
 
 By default your Query String arguments (nothing to do with other
 query string options) will be ignored. Setting this config to
